EC2 Image Builderで SSMエージェント がインストールされた状態でAMIを作成する方法
概要
Image Builder がイメージの構築とテストの実行に使用するインスタンスには、System Managerサービスにアクセスできる必要があります。
Amazon EC2 Linuxインスタンスの場合、Image BuilderはSSMエージェントをビルドインスタンスにインストールし、イメージを作成する前に削除します。そのため、作成されたAMIにSSMエージェントがインストールされておらず、AMI作成時にSSMエージェントがインストールされている状態にするには Image Builder のビルドコンポーネントに下記を追加する必要がありました。
- name: RetainSSMAgentInstallation action: ExecuteBash inputs: commands: - sudo rm -rf /tmp/imagebuilder_service/ssm_installe
*ちなみにAmazon Linux2で作成したAMIにはデフォルトでSSMエージェントがインストールされていたため、上記のような追加ステップは不要でした。
追加された機能
ビルド後に、作成されたAMIからSSMエージェントを削除するか残しておくかをイメージレシピの作成時に選択できるようになりました。
「インスタンスの設定」にてパイプライン実行後のSSMエージェントについて設定が可能となっています。
デフォルトでは「パイプライン実行後にSSMエージェントを削除する」にチェックは入っていません。つまり、デフォルトで新しいイメージにはSSMエージェントが含まれている状態です。
SSMエージェントが不要の場合は、チェックボックスをオンにしてパイプライン実行後にSSMエージェントが削除されるようにします。
分かりやすくなっていてとても良いです!